package aceim.api.dataentity;
import java.util.Collections;
import java.util.List;
import android.os.Parcel;
import android.os.Parcelable;
/**
* File transfer message entity.
*
* @author Sergiy Plygun
*
*/
public class FileMessage extends Message {
/**
* List of files being transferred, read-only.
*/
private final List<FileInfo> files;
@SuppressWarnings("unchecked")
public FileMessage(Parcel arg0) {
super(arg0);
files = Collections.unmodifiableList(arg0.readArrayList(FileInfo.class.getClassLoader()));
}
public FileMessage(byte serviceId, String from, List<FileInfo> files){
super(serviceId, from);
this.files = Collections.unmodifiableList(files);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeList(files);
}
public static final Parcelable.Creator<FileMessage> CREATOR = new Parcelable.Creator<FileMessage>(){
@Override
public FileMessage createFromParcel(Parcel arg0) {
//Omitting classname variable used for class hierarchy parcelable support
arg0.readString();
return new FileMessage(arg0);
}
@Override
public FileMessage[] newArray(int size) {
return new FileMessage[size];
}
};
/**
* @return the files
*/
public List<FileInfo> getFiles() {
return files;
}
}